6
תגובות

בעיה מוזרה עם htaccess

פתח Ben ,
היי.
יש לי בעיה מוזרה.
כשניכנסים לאתר שלי עם www ה htaccess עובד מצויין. אך שנכנסים בלי ה www הכל מתרחבש לדוגמא אם אני נכנס לעמוד users.php?i=1 זה אמור להראות ככה site.com/users/1 אבל אם אני נכנס עם ה www זה מראה כמו שצריך ואם אני נכנס בלי ב www זה מעביר אותי אוטומטי לכתובת users.php?i=1.

למה זה ?. אני כן רוצה שיהיה www בכתובת, ואם המשתמש לא הכניס, שזה יוסיף אוטומטי ושמתי את הקוד הזה בראש הדף:
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule (.*) http://www.example.com$1 [R=301,L]

6 תשובות

avatar ענה intval ב 29 ליולי 2014 #

תוכל לצרף את כל קובץ ה htaccess שלך? כנראה שאחד הכללים מפריע לכלל אחר וזה מה שקורה.
אם שמתי את סימני הפיסוק כפי שאתה תיכננת, אז מה שהבנתי הוא שאתה רוצה

א. כשמשתמש מזין כתובת בלי www זה יעביר אותו לאותה הכתובת עם www
ב. כשמשתמש מזין כתובת site.com/users/1 השרת צריך להפעיל סקריפט users.php?i=1

במקרה הזה הקוד יהיה כזה:

<IfModule mod_rewrite.c>
  RewriteCond %{HTTPS} !=on
  RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
  RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

avatar ענה Ben ב 29 ליולי 2014 #

אחלה תודה.
ועוד משהו קטן, האם יש דרך לבטל https ?
בשביל להיכנס לאתר שלי משנים כמה אותיות בפייסבוק ולפעמים הכתובת של הפייסבוק היא עם https הבעיה שאם משנים את הכתובת של הפייסבוק ויש את ה https זה מראה התראה שאין לי את התעודה האם יש דרך לזהות ברגע שיש בכתובת https זה יעביר ל http רגיל ?

avatar ענה intval ב 29 ליולי 2014 #

RewriteCond %{HTTPS}  on
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

avatar ענה Ben ב 29 ליולי 2014 #

אני לא רוצה שזה יהיה קישור רגיל, הקישור יש לו פרמטר שכל פעם משתנה. יש אפשרות לקבל את הכתובת הנוכחית ופשוט להחזיר את אותה הכתובת בלי https ?

avatar ענה Ben ב 01 לאוגוסט 2014 #

אשמח לעזרה במידה וזה אפשרי.

avatar ענה intval ב 02 לאוגוסט 2014 #

מה זה קישור רגיל ב"אני לא רוצה קישור רגיל"?
אם אתה מוסיף NC לרשימת הדגלים הוא ישמור גם על הפרמטרים בעת ההעברה